Skip to content

Conversation

isikkema
Copy link

Fixes #101001

As far as I can tell, #101001 is caused because the file is being created with write-only permissions here: https://github.com/rust-lang/rust/blob/master/compiler/rustc_serialize/src/opaque.rs#L196

but it is trying to be read here: https://github.com/rust-lang/rust/blob/master/compiler/rustc_metadata/src/rmeta/encoder.rs#L780

This PR attempts to fix this by creating/opening the file with the same permissions as File::create() with the addition of read.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Aug 25, 2022
@rust-highfive
Copy link
Contributor

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @TaKO8Ki (or someone else) soon.

Please see the contribution instructions for more information.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 25, 2022
@isikkema
Copy link
Author

isikkema commented Sep 7, 2022

r? @klensy

@nnethercote nnethercote assigned nnethercote and unassigned TaKO8Ki Sep 20, 2022
@nnethercote
Copy link
Contributor

I hit this ICE today and I can confirm that this PR fixes it. Please add the suggested comment and then we are good to go.

(It would also be good to have a src/test/ui/ test for this feature, to catch any obvious breakage in the future. But that might be tricky to do if the byte sizes vary on different platforms, so I won't block this PR on that.)

@bors delegate=isikkema

@bors
Copy link
Collaborator

bors commented Sep 20, 2022

✌️ @isikkema can now approve this pull request

@isikkema
Copy link
Author

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Sep 20, 2022

📌 Commit a2cb8a4 has been approved by isikkema

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 20, 2022
notriddle added a commit to notriddle/rust that referenced this pull request Sep 20, 2022
…der-no-read-perms, r=isikkema

Fix -Zmeta-stats ICE by giving `FileEncoder` file read permissions

Fixes rust-lang#101001

As far as I can tell, rust-lang#101001 is caused because the file is being created with write-only permissions here: https://github.com/rust-lang/rust/blob/master/compiler/rustc_serialize/src/opaque.rs#L196

but it is trying to be read here: https://github.com/rust-lang/rust/blob/master/compiler/rustc_metadata/src/rmeta/encoder.rs#L780

This PR attempts to fix this by creating/opening the file with the same permissions as `File::create()` with the addition of read.
bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 20, 2022
Rollup of 12 pull requests

Successful merges:

 - rust-lang#100250 (Manually cleanup token stream when macro expansion aborts.)
 - rust-lang#101014 (Fix -Zmeta-stats ICE by giving `FileEncoder` file read permissions)
 - rust-lang#101958 (Improve error for when query is unsupported by crate)
 - rust-lang#101976 (MirPhase: clarify that linting is not a semantic change)
 - rust-lang#102001 (Use LLVM C-API to build atomic cmpxchg and fence)
 - rust-lang#102008 (Add GUI test for notable traits element position)
 - rust-lang#102013 (Simplify rpitit handling on lower_fn_decl)
 - rust-lang#102021 (some post-valtree cleanup)
 - rust-lang#102027 (rustdoc: remove `docblock` class from `item-decl`)
 - rust-lang#102034 (rustdoc: remove no-op CSS `h1-6 { border-bottom-color }`)
 - rust-lang#102038 (Make the `normalize-overflow` rustdoc test actually do something)
 - rust-lang#102053 (:arrow_up: rust-analyzer)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 3f377d3 into rust-lang:master Sep 20, 2022
@rustbot rustbot added this to the 1.66.0 milestone Sep 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
7 participants